DAY20:Regex validate PIN code


Posted by birdbirdmurmur on 2023-08-02

題目連結

Regex validate PIN code

解法

Javascript

function validatePIN(pin) {
  return /^(\d{4}|\d{6})$/.test(pin);
}

Typescript

function validatePIN(pin: string): boolean {
  return /^(\d{4}|\d{6})$/.test(pin);
}

心得

Regex正規表達式
拆解/^(\d{4}|\d{6})$/

  1. / ^(\d{4}|\d{6})$ /
  • 兩個斜線/ /或是new RegExp()來建立一個RegExp物件
  1. ^ (\d{4}|\d{6}) $
  • ^ 代表字串的開始位置,表示要從字串的開頭進行匹配
  • $ 代表字串的結束位置,表示要在字串的結尾進行匹配
  1. \d{4} | \d{6}
  • |表示 或(or),|前後的字串都可以比對
  1. \d{4} \d{6}
  • \d 比對一個數字,相等於 /[0-9]/
  • {n}連續出現n次
  • 兩個合在一起就是匹配連續n次的\d,n個連續的數字
  • 此題目就是匹配 四個或六個連續的數字

5.統整/^(\d{4}|\d{6})$/

  • 從頭到尾比對剛好4位或6位的數字
  • 也可以說 限4位數或6位數

#javascript #TypeScript #Codewars #RegEx







Related Posts

MVC 架構 - 以 express 為例

MVC 架構 - 以 express 為例

methods 和 computed 比較

methods 和 computed 比較

平面最近點對:比較4種不同複雜度之算法

平面最近點對:比較4種不同複雜度之算法


Comments